Skip to content

feat(auth): multi-profile .orch auth + GH OAuth TUI + state auto-sync#63

Merged
skulidropek merged 15 commits intomainfrom
issue-61
Feb 18, 2026
Merged

feat(auth): multi-profile .orch auth + GH OAuth TUI + state auto-sync#63
skulidropek merged 15 commits intomainfrom
issue-61

Conversation

@skulidropek
Copy link
Copy Markdown
Member

Closes #61\n\n- Keep shared state in ~/.docker-git/.orch (no new secrets dir).\n- Support N labeled auth profiles (GITHUB_TOKEN__LABEL, etc).\n- GitHub TUI auth is OAuth-only; PAT remains CLI-only for CI/non-interactive.\n- Auto commit/push ~/.docker-git after auth/env/project binding changes.\n- E2E scripts for non-interactive validation.\n- Fix TUI swallowing output by pausing on failures while suspended.

@skulidropek
Copy link
Copy Markdown
Member Author

Update по Claude OAuth (issue #61):

Что теперь работает

  • docker-git auth claude login --label <label> использует контейнерный OAuth flow через claude setup-token (TTY), без старого зависания на ручном waiter.
  • После успешного OAuth токен сохраняется в общем state repo: ~/.docker-git/.orch/auth/claude/<label>/.oauth-token.
  • docker-git auth claude status --label <label> показывает connected, если найден непустой .oauth-token (или legacy Claude cache).
  • docker-git auth claude logout --label <label> удаляет .oauth-token и выполняет logout.
  • State auto-sync коммитит/пушит изменения в .docker-git автоматически (если включён auto-sync).

Как использовать

  • Логин: docker-git auth claude login --label agien
  • Проверка: docker-git auth claude status --label agien
  • Переключение проекта на label: через TUI/Project Auth или env-ключ с label.

Важно про claude: command not found

  • Это ожидаемо на хосте, если Claude CLI не установлен глобально в host OS.
  • В docker-git flow Claude запускается внутри контейнера/проектного окружения.
  • Если нужен host-вызов claude, установите CLI отдельно на хосте (npm i -g @anthropic-ai/claude-code).

Security note

  • Если OAuth token когда-либо попал в логи/чат, его нужно сразу revoke и пройти login заново.

@skulidropek
Copy link
Copy Markdown
Member Author

skulidropek commented Feb 18, 2026

CI update: after commit 73cc4d8 all required checks are green (including Lint Effect-TS, Test, E2E (Login context)).

Note: initial failure of E2E (Login context) was an external install fetch flake (opencode installer), rerun passed successfully.

@skulidropek skulidropek merged commit 1cea777 into main Feb 18, 2026
18 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant